package com.shxzz.easy12306.framework.starter.idempotent.core.handler;

import com.shxzz.easy12306.framework.starter.idempotent.annotation.Idempotent;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.aspectj.lang.ProceedingJoinPoint;

/**
 * 幂等参数包装类
 * @author shxzz
 * @create 2024-02-22-22:08
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@Data
public class IdempotentParamWrapper {

    /**
     * 切面连接点信息
     */
    private ProceedingJoinPoint proceedingJoinPoint;

    /**
     * 幂等注解信息
     */
    private Idempotent idempotent;

    /**
     * 幂等锁标识
     */
    private String lockKey;
}
